home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1994 November / macformat-018.iso / Utility Spectacular / Developer / SAT / Collision ƒ / sMrEgghead.p < prev   
Encoding:
Text File  |  1994-07-26  |  924 b   |  43 lines  |  [TEXT/PJMM]

  1. { Player sprite for SATcollision }
  2.  
  3. unit sMrEgghead;
  4.  
  5. interface
  6.  
  7.     uses
  8.         SAT;
  9.  
  10.     var
  11.         mrEggheadFaces: array[0..3] of FacePtr;
  12.  
  13.     procedure InitMrEgghead;
  14.     procedure SetupMrEgghead (me: SpritePtr);
  15.     procedure HandleMrEgghead (me: SpritePtr);
  16.  
  17. implementation
  18.  
  19.     procedure initMrEgghead;
  20.         var
  21.             i: integer;
  22.     begin
  23.         for i := 0 to 3 do
  24.             mrEggheadFaces[i] := GetFace(128 + i);
  25.     end;
  26.  
  27.     procedure SetupMrEgghead (me: SpritePtr);
  28.     begin
  29. {me^.mode := 0;         Unnecessary - it is always initialized to 0 by SAT.}
  30.         me^.kind := 1;                            {"Friend" kind - positive so it can collide with apples, which have negative kind.}
  31.         SetRect(me^.hotRect, 0, 0, 32, 32);    {Set the "hot" rectange, for collisions}
  32.         me^.task := @HandleMrEgghead;        {Must have a handling routine}
  33.     end;
  34.  
  35.     procedure HandleMrEgghead (me: SpritePtr);
  36.     begin
  37.         GetMouse(me^.position);
  38.  
  39.         me^.mode := (me^.mode + 1) mod 4;
  40.         me^.face := mrEggheadFaces[me^.mode];
  41.     end;
  42.  
  43. end.